In some conventional computer application programs, users had the ability to create macros. Macros were sub-routines that, when executed, performed a predetermined set of commands within the application program. For example, in a word processing application, a macro may, when executed, set up a particular format for a document including inserting some boilerplate language and fields for the entry of document-specific text. In a spreadsheet application, a macro may have, when executed, set up a particular spreadsheet format with appropriate formulae, etc.
The creation of a macro tended to be specific to the application in which the macro was to be used. In general, it was difficult or impossible to use a macro prepared for one application in another application. The creation of a macro may have required the user to know an appropriate language in which the macro commands could be written in a macro editor within the application program. Alternatively, some applications allowed the user to simply perform the commands that were to be incorporated in the macro while recording those actions for automatic incorporation in a macro. In the current computer environment, the use of macros, as they were traditionally known, has gradually diminished into complete obscurity.
However, in Java Development Kit (JDK) 1.3 for the JAVA language, a class was added known as java.awt.Robot. This class contains commands, known as robot commands, that correspond to particular user entries, such as keystrokes on a keyboard, movement of a mouse, etc.
Using the robot commands, an application developer can theoretically write commands into an application that will substitute for user input through a user interface. However, manually writing and inserting such robot commands into an existing JAVA application or applet is a non-trivial task. Such manual preparation of robot commands requires an intimate knowledge of the JAVA application and the robot command sets, as well as the intrinsic ability to visualize the behavior and appearance of the graphical user interface of the application in which the robot commands will operate.
Thus, making use of robot commands is currently very difficult for even seasoned JAVA programmers and entirely beyond the purview of a mere application user. Unfortunately, it is the application's end-user that is most likely to have the need for generating a robot command set to customize operation of the application for his or her own particular needs.